﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DataModel
{
    public class AttachData
    {
        public AttachData()
        {
            Barrate = -99;
            BarrateSpeed = -1;
        }

        /// <summary>
        /// 里程，对应车上里程表读数
        /// </summary>
        public int Mileage { get; set; }

        /// <summary>
        /// 油量，对应车上油量表读数
        /// </summary>
        public double OilMass { get; set; }

        /// <summary>
        /// 0，实时数据，1，快速增加，2，快速减少，3平行振荡
        /// </summary>
        public int OilMassState { get; set; }
        /// <summary>
        /// 行驶记录功能获取的速度
        /// </summary>
        public int RunSpeed { get; set; }

        /// <summary>
        /// 转鼓状态：正反转，1为正转，0为反转
        /// </summary>
        public int Barrate { get; set; }

        /// <summary>
        /// 转鼓转速
        /// </summary>
        public int BarrateSpeed { get; set; }

        public int AlarmEvent { get; set; }

        public int car_signal { get; set; }

        public int io_status { get; set; }
        public int signal_strength { get; set; }
        public int gnss_count { get; set; }
        public int analog { get; set; }
        #region 超速报警附加信息

        /// <summary>
        /// 位置信息汇报 0：无特定位置，1：圆形区域，2：矩形区域，3：多边形区域，4：路段
        /// </summary>
        public int OverSpeedAlarmType { get; set; }

        /// <summary>
        /// 区域或路段ID，若位置类型为0，无该字段
        /// </summary>
        public string OverSpeedAlarmID { get; set; }
        #endregion

        #region 进出区域/路线报警附加信息

        /// <summary>
        /// 位置信息汇报 1：圆形区域，2：矩形区域，3：多边形区域，4：路段
        /// </summary>
        public int AreaAlarmType { get; set; }

        /// <summary>
        /// 区域或路线ID
        /// </summary>
        public string AreaAlarmID { get; set; }

        /// <summary>
        /// 方向 0：进，1：出
        /// </summary>
        public int AreaAlarmDirection { get; set; }
        #endregion

        #region 路段行驶时间不足/过长报警附加信息

        /// <summary>
        /// 路段ID
        /// </summary>
        public string RoadAlarmID { get; set; }

        /// <summary>
        /// 路段行驶时间 单位为秒(sx)
        /// </summary>
        public int RoadAlarmTime { get; set; }

        /// <summary>
        /// 结果 0：不足，1：过长
        /// </summary>
        public int RoadAlarmResult { get; set; }
        #endregion
        /// <summary>
        /// 视频相关报警
        /// </summary>
     

        /// <summary>
        /// 视频信号丢失报警状态
        /// </summary>
        public int VideoPassLoseState { get; set; }
        /// <summary>
        /// 视频信号遮挡报警状态
        /// </summary>
        public int VideoPassShelterState { get; set; }

        /// <summary>
        /// 存储器故障报警状态
        /// </summary>
        public int MemoryFailureState { get; set; }
        public VideoAlarmFlag VideoAlarmFlag { get; set; }
        /// <summary>
        /// 异常驾驶行为报警详情描述
        /// </summary>
        public AbnormalDrivingBehaviorAlarm AbnormalDrivingBehaviorAlarmDetail { get; set; }

        public string attachInfo { get; set; }
    }
}
